/*
 *  Copyright 2002 by Texas Instruments Incorporated.
 *  All rights reserved. Property of Texas Instruments Incorporated.
 *  Restricted rights to use, duplicate or disclose this code are
 *  granted through contract.
 *  
 *  ======== thrProcess.h ========
 *
 *  Please refer to readme.txt in this file's directory for a 
 *  detailed description.
 *
 */

#ifndef THRPROCESS_
#define THRPROCESS_


// RF5 module includes
#include <chan.h>
#include <icell.h>

#ifdef __cplusplus
extern "C" {
#endif


// Enumeration of channel cells (so we use names intead of numbers for index)
enum { CELLH263ENC= 0, 
       CELLH263DEC,
       PROCESSNUMCELLS 
};            
#define PROCESSNUMCHANNELS 1
#define PROCESSNUMCELLS    2

/* Definition of the structure describing the state of the thread. */
typedef struct ThrProcess {
    CHAN_Obj         chanList[ PROCESSNUMCHANNELS ];              
    ICELL_Obj        cellList[ PROCESSNUMCHANNELS * PROCESSNUMCELLS ];       
    void 		     *bufInput[ PROCESSNUMCHANNELS ];
    void 		     *bufOutput[ PROCESSNUMCHANNELS ];
    void             *bufIntermediate;
    ScomBufChannels  scomMsgRx;
    ScomBufChannels  scomMsgTx;
} ThrProcess; 

/* prototypes for public functions */
extern Void tskProcessInit( Void );
extern Void tskProcess( Void );
#ifdef __cplusplus
}
#endif // extern "C" 

#endif // THRPROCESS_
